1. Field of the Invention
This invention relates generally to digital-to-analog converters and, more particularly, to digital-to-analog converters operable at high conversion speeds.
2. Description of the Related Art
A digital-to-analog converter (DAC) converts a digital input, consisting of a sequence of bits making up an input data word, into an analog output representing the value of the binary input data word. A DAC can be implemented with a set of switches that control the summation of a set of weighted analog current sources such that the DAC output is a current that is the sum of currents from any combination of the current sources. Each bit of the input data word determines whether or not a corresponding current source is summed at the output. For each bit of the input word that is high, the associated current source is coupled to the DAC output, while for each bit that is low, the associated current source is not coupled. The sum of the coupled current sources produces a current amplitude at the DAC output that is proportional to the binary value of the input data word. If a binary weighting is used, each current source has a current which is double the current of the next previous smaller current source. Thus an n-bit DAC would sum n binary weighted current sources in 2 to the nth possible combinations to produce 2 to the nth possible values of the n-bit input word.
Among other applications, DACs are used in systems called direct digital synthesizers (DDS) to generate a sampled, usually periodic, analog waveform from a series of digital words. That is, a continuous function is represented by a series of discrete sample values taken at sample intervals and provided as input data to a DAC. Thus, the sampled analog waveform has a discrete amplitude during a short sampling time period, which then steps to a new amplitude with each new sampling period to produce a waveform that is a well controlled representation of the continuous function. For example, the analog waveform might be a sine function, the sampling periods being discrete intervals of the function. The discrete intervals define values of the sine waveform that are provided as input to the DAC. Such a waveform can be used as a carrier wave in a communications application. DAC's are especially useful in a DDS because the output amplitude of the DAC can be precisely controlled by the values of the digital words, the period of the output waveform can be changed very rapidly, and the sample timing can be controlled by a high precision, periodic clocking signal.
An important parameter of a DDS system generating a sampled analog output waveform is the range of frequencies that can be generated at the output. It is well known that the maximum output bandwidth of a sampled analog waveform is determined by the Nyquist limit to be half of the sampling frequency. To generate a 1 GHz sine wave, for example, it is necessary to sample the function at a frequency of at least 2 GHz, or two data points per cycle. To increase the range of output frequencies that can be generated, the sampling frequency must be increased. High sampling frequencies require DACs that can transition from one output value to another very quickly.
A second important parameter of a DDS system is what is referred to as the spurious response. Many applications for a DDS system require that the output waveform cover a wide range of possible frequencies, and also that the waveform have very low amplitude components at frequencies other than the frequency desired at any particular time. The relative amplitudes of these undesired frequency components define the spurious response. Due to the step-like nature of a sampled waveform, the DDS output waveform contains frequency components that are greater than one-half of the sampling frequency. These frequency components are out of the range of desired output frequencies and make up the out-of-band spurious response. They generally are undesirable, but can be easily removed by a filter which passes only frequencies that are in the desired output frequency range.
A more serious problem with the DDS stems from the spurious frequency components that fall within the desired range of output frequencies. This in-band spurious response is caused primarily by errors in the accuracy of the DAC output amplitude at each sample period. These amplitude errors are due to two sources: the limited resolution determined by the number of bits in the DAC input word; and the limited accuracy with which the analog output matches the value of the digital input word. The number of bits in the DAC input word are determined by the architecture of the system in which the DDS will operate. The accuracy limitations of the DAC analog output stem from two sources: the static accuracy of the current sources, and the transient effects. The static accuracy is a measure of how accurately each current source represents the amplitude associated with a specific bit in the input word. Conventional high precision current sources have been developed, greatly increasing the static accuracy. The transient effects are more troublesome to deal with, and are the subject of this invention. Transient effects will be discussed next in greater detail.
An ideal DAC will step from one output value to another instantaneously. However, all practical DACs will have transient effects and require some time for the output amplitude to settle to each new output value. In switching from one output value, or state, to another all DACs produce what is known as a glitch for the period of time during which the output has not settled to its final dc value. The glitch comprises spurious energy in the output waveform. For high speed DACs the glitch duration may be a significant portion of the total sample time, and this glitch can therefore severely limit the accuracy of the output in matching the value of the digital input.
All DACs produce a glitch during the transition from one output state to another. However, only part of the energy in the glitch actually falls at spurious in-band frequencies. If the glitch energy is constant for each sample step or clock cycle, then this energy occurs at the sampling frequency and/or at higher harmonics. These frequencies are therefore out-of-band and do not cause an in-band spurious frequency problem. They can be filtered out of the output using conventional filtering techniques. Also, if the glitch energy is proportional to the value of the output amplitude, or to the value of the step in the output amplitude, then the glitch energy is at the frequency of the desired output frequency. This also does not cause a spurious frequency problem.
In-band spurious frequencies can be generated if the glitch is dependent on the input data, and on other factors not directly proportional to the values of the amplitudes involved in the output state transition. An example of such data dependent glitches can be seen by examining the transitions between input words 100 . . . 001 and 100 . . . 000, and between 100 . . . 000 and 011 . . . 111. In the first transition only the least significant bit in the input word changes, and only the smallest current source must be switched out of the output summation. All of the other current sources are not switched in the transition but remain steady, and a very small glitch can be expected. The second transition from 100 . . . 000 to 011 . . . 111 is also a one-bit change, but involves switching out the largest current source and switching in all of the remaining current sources. If the switching out of the largest current source is delayed with respect to the switching in of the other current sources, the DAC output will have a large error for a short time interval, and a large glitch energy can be expected. Both the first and second transitions have the same magnitude of change (a difference of one bit) and are very close in amplitude, yet the transitions produce glitch energies that are very different.
Such small data changes with large current-switching effects can occur with regularity in a DDS. In general, the sampling frequency of the analog waveform will not be an integral multiple of the desired periodic output frequency, and the input data will step through sample values that are different data words for each cycle of the desired frequency. For example, if a sine wave is to be produced, the input words comprising the sine values to be converted will not be identical for each cycle. Therefore, transitions with large glitch energies and transitions with small glitch energies will be occurring with periodicities that might be different from the period of the desired output frequency, thus leading to spurious frequencies, some of which can be in-band.
The data dependent glitches can be caused from several sources. The control signals operating the current switches might arrive at the switches skewed in time with respect to each other. This can be due either to non-uniform delays in the individual logic signal source circuitry driving each switch or to differences in the loads presented to each signal source circuit by each switch. Further, the time for each switch to change state will differ slightly, even with the same control signal timing. This effect is made worse by the fact that each switch controls different magnitudes of current; this can also affect switching time. Glitches can also be generated if switches have turn-off times that are different from turn-on times. In addition, there are usually parasitic effects in the switching circuitry that can couple the control signals of the switches directly to the output, thereby producing glitch-like effects.
From the discussion above, it should be apparent that there is a need for a DAC that can operate at high speeds with significantly reduced distortions in the output signal, which are ordinarily caused by switching transients and glitch effects. The present invention satisfies this need.